		
public class Orientation {
	private String name ;
	private ListOfObjects Lo;
  // MAHER: list of icon should have a class by itself.
	private Icon [] listOfIcons;
   private int size;   // this size of the arraya of the icons
  private Predicate p;  //MAHER: do we need the predicate? cant the orientation be for an atom too?
  // MHARE: what kind of orientaiton? you need a field to tell us the kind. For examle, there is an AT, ADJACENT, DIRECT-LINK... etc.

public Orientation (String name){
	this.name = name;
	Lo = null;
	listOfIcons = null;
	p = null;
   size = 0;
}

  // MAHER: how do you DO an orientation? RENAME the method.
  // MAHER: Abdullah, do this. you should know the kind of the orientation first. 
public Icon doOrientation(Icon [] icon , Predicate p){
	Icon i = new Icon ();
	// here we write the code of the orientation 

	return i;
}
  public void display ();
  System.out.println(" The name is :"+name );
  LO.display();
  p.display();
  for(int i =0 ; i<size ; i++){
    listOfIcons.display();
  }


public String getName() {
	return name;
}
public ListOfObjects getLo() {
	return Lo;
}
public Icon[] getListOfIcons() {
	return listOfIcons;
}
public Predicate getP() {
	return p;
}
public void setName(String name) {
	this.name = name;
}
public void setLo(ListOfObjects lo) {
	Lo = lo;
}
public void setListOfIcons(Icon[] listOfIcons) {
	this.listOfIcons = listOfIcons;
}
public void setP(Predicate p) {
	this.p = p;
}



}